import BASE_URL from './env.js' //引入接口共用地址
import {
	getToken,
	removeToken
} from './common.js'
export const request = (options) => {
	return new Promise((resolve, reject) => {
		// 获取用户令牌
		let token = getToken()
		// 设置请求头
		const header = {
			'Content-Type': 'application/json',
			Authorization: `Bearer ${token}`,
			...options.header // 可以传入额外的请求头参数
		}
		// ⭐在发送请求之前执行拦截操作
		uni.request({
			url: BASE_URL + options.url, //接收请求的API
			method: options.method || 'GET', //接收请求的方式,如果不传默认为GET
			data: options.data || {}, //接收请求的data,不传默认为空
			header: header, //接收请求的header
			success(res) {
				// ⭐在这里处理接收到响应后处理响应数据
				if (res.data.code == 401 || !common.isLogin()) {
					let jump = common.getValue('jump')
					if (!jump) {
						common.show('提示', '登录已过期，请授权登录', false, '确定').then(res => {
							common.redirectTo("/pages/login/login")
						})
						common.setValue('jump', true)
						removeToken()
					}
					
				} else if (res.data.code == 500) {
					common.msg(res.data.msg)
				} else {
					resolve(res.data) // 使用resolve将数据传递出去
				}

			},
			fail: (err) => {
				reject(err)
			}
		})
	})
}